package com.plum.admin.modules.youeorder.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import com.plum.admin.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 司机订单表（行程表）基本信息
 * </p>
 *
 * @author 子丶沫
 * @since 2021-08-17
 */
@Data
@Accessors(chain = true)
@TableName("driver_order")
@ApiModel(value="DriverOrder对象", description="司机订单表（行程表）基本信息")
public class DriverOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    private String id;

    @ApiModelProperty(value = "订单类型：0-拼车 1 -包车")
    @TableField("order_type")
    private Integer orderType;

    @ApiModelProperty(value = "行驶里程")
    @TableField("road_haul")
    private String roadHaul;

    @ApiModelProperty(value = "上车人数")
    @TableField("on_bus_numb")
    private Integer onBusNumb;

    @ApiModelProperty(value = "订单金额")
    @TableField("order_money")
    private BigDecimal orderMoney;

    @ApiModelProperty(value = "订单状态 0-接单中 1-送客中 2-已结算  3-已取消 4-待改派")
    @TableField("order_status")
    private Integer orderStatus;

    @ApiModelProperty(value = "线路ID")
    @TableField("route_id")
    private Integer routeId;

    @ApiModelProperty(value = "策略id")
    @TableField("strategy_id")
    private String strategyId;

    @ApiModelProperty(value = "司机ID")
    @TableField("driver_id")
    private Integer driverId;

    @ApiModelProperty(value = "订单时间")
    @TableField("order_time")
    private LocalDateTime orderTime;

    @ApiModelProperty(value = "到达目的地时间")
    @TableField("arrive_date")
    private LocalDateTime arriveDate;

    @ApiModelProperty(value = "司机常用留言")
    @TableField("cy_leave_word_id")
    private String cyLeaveWordId;

    @ApiModelProperty(value = "司机留言")
    @TableField("leave_word")
    private String leaveWord;

    @ApiModelProperty(value = "支付时间")
    @TableField("pay_time")
    private LocalDateTime payTime;

    @ApiModelProperty(value = "支付方式 0-微信支付 1-支付宝 2-银联支付 3-司机代付")
    @TableField("pay_type")
    private Integer payType;

    @ApiModelProperty(value = "优惠金额（优惠券、满多少减多少等）")
    @TableField("yh_money")
    private BigDecimal yhMoney;

    @ApiModelProperty(value = "订单来源类型 0-实时 1-预约")
    @TableField("order_source_type")
    private Integer orderSourceType;

    @ApiModelProperty(value = "创建者")
    @TableField("create_by")
    private Long createBy;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_date")
    private LocalDateTime createDate;

    @ApiModelProperty(value = "更新者")
    @TableField("update_by")
    private Long updateBy;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_date")
    private LocalDateTime updateDate;

    @ApiModelProperty(value = "备注信息")
    @TableField("remarks")
    private String remarks;

    @ApiModelProperty(value = "删除标记")
    @TableField("del_flag")
    private String delFlag;

    @ApiModelProperty(value = "取消类型 1 管理后台取消")
    @TableField("cancelType")
    private Integer canceltype;

    @ApiModelProperty(value = "班次服务开始")
    @TableField("start_fence_time")
    private LocalDateTime startFenceTime;

    @ApiModelProperty(value = "班次服务结束")
    @TableField("end_fence_time")
    private LocalDateTime endFenceTime;


}
